package com.zlt.appparking.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class AdvertisementExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AdvertisementExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAdIdIsNull() {
            addCriterion("ad_id is null");
            return (Criteria) this;
        }

        public Criteria andAdIdIsNotNull() {
            addCriterion("ad_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdIdEqualTo(Long value) {
            addCriterion("ad_id =", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdNotEqualTo(Long value) {
            addCriterion("ad_id <>", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdGreaterThan(Long value) {
            addCriterion("ad_id >", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdGreaterThanOrEqualTo(Long value) {
            addCriterion("ad_id >=", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdLessThan(Long value) {
            addCriterion("ad_id <", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdLessThanOrEqualTo(Long value) {
            addCriterion("ad_id <=", value, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdIn(List<Long> values) {
            addCriterion("ad_id in", values, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdNotIn(List<Long> values) {
            addCriterion("ad_id not in", values, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdBetween(Long value1, Long value2) {
            addCriterion("ad_id between", value1, value2, "adId");
            return (Criteria) this;
        }

        public Criteria andAdIdNotBetween(Long value1, Long value2) {
            addCriterion("ad_id not between", value1, value2, "adId");
            return (Criteria) this;
        }

        public Criteria andAdNameIsNull() {
            addCriterion("ad_name is null");
            return (Criteria) this;
        }

        public Criteria andAdNameIsNotNull() {
            addCriterion("ad_name is not null");
            return (Criteria) this;
        }

        public Criteria andAdNameEqualTo(String value) {
            addCriterion("ad_name =", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotEqualTo(String value) {
            addCriterion("ad_name <>", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameGreaterThan(String value) {
            addCriterion("ad_name >", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameGreaterThanOrEqualTo(String value) {
            addCriterion("ad_name >=", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLessThan(String value) {
            addCriterion("ad_name <", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLessThanOrEqualTo(String value) {
            addCriterion("ad_name <=", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLike(String value) {
            addCriterion("ad_name like", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotLike(String value) {
            addCriterion("ad_name not like", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameIn(List<String> values) {
            addCriterion("ad_name in", values, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotIn(List<String> values) {
            addCriterion("ad_name not in", values, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameBetween(String value1, String value2) {
            addCriterion("ad_name between", value1, value2, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotBetween(String value1, String value2) {
            addCriterion("ad_name not between", value1, value2, "adName");
            return (Criteria) this;
        }

        public Criteria andAuIdIsNull() {
            addCriterion("au_id is null");
            return (Criteria) this;
        }

        public Criteria andAuIdIsNotNull() {
            addCriterion("au_id is not null");
            return (Criteria) this;
        }

        public Criteria andAuIdEqualTo(Long value) {
            addCriterion("au_id =", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotEqualTo(Long value) {
            addCriterion("au_id <>", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdGreaterThan(Long value) {
            addCriterion("au_id >", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdGreaterThanOrEqualTo(Long value) {
            addCriterion("au_id >=", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdLessThan(Long value) {
            addCriterion("au_id <", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdLessThanOrEqualTo(Long value) {
            addCriterion("au_id <=", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdIn(List<Long> values) {
            addCriterion("au_id in", values, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotIn(List<Long> values) {
            addCriterion("au_id not in", values, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdBetween(Long value1, Long value2) {
            addCriterion("au_id between", value1, value2, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotBetween(Long value1, Long value2) {
            addCriterion("au_id not between", value1, value2, "auId");
            return (Criteria) this;
        }

        public Criteria andAdPathIsNull() {
            addCriterion("ad_path is null");
            return (Criteria) this;
        }

        public Criteria andAdPathIsNotNull() {
            addCriterion("ad_path is not null");
            return (Criteria) this;
        }

        public Criteria andAdPathEqualTo(String value) {
            addCriterion("ad_path =", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathNotEqualTo(String value) {
            addCriterion("ad_path <>", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathGreaterThan(String value) {
            addCriterion("ad_path >", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathGreaterThanOrEqualTo(String value) {
            addCriterion("ad_path >=", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathLessThan(String value) {
            addCriterion("ad_path <", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathLessThanOrEqualTo(String value) {
            addCriterion("ad_path <=", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathLike(String value) {
            addCriterion("ad_path like", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathNotLike(String value) {
            addCriterion("ad_path not like", value, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathIn(List<String> values) {
            addCriterion("ad_path in", values, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathNotIn(List<String> values) {
            addCriterion("ad_path not in", values, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathBetween(String value1, String value2) {
            addCriterion("ad_path between", value1, value2, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdPathNotBetween(String value1, String value2) {
            addCriterion("ad_path not between", value1, value2, "adPath");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoIsNull() {
            addCriterion("ad_isphoto is null");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoIsNotNull() {
            addCriterion("ad_isphoto is not null");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoEqualTo(Boolean value) {
            addCriterion("ad_isphoto =", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoNotEqualTo(Boolean value) {
            addCriterion("ad_isphoto <>", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoGreaterThan(Boolean value) {
            addCriterion("ad_isphoto >", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoGreaterThanOrEqualTo(Boolean value) {
            addCriterion("ad_isphoto >=", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoLessThan(Boolean value) {
            addCriterion("ad_isphoto <", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoLessThanOrEqualTo(Boolean value) {
            addCriterion("ad_isphoto <=", value, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoIn(List<Boolean> values) {
            addCriterion("ad_isphoto in", values, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoNotIn(List<Boolean> values) {
            addCriterion("ad_isphoto not in", values, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoBetween(Boolean value1, Boolean value2) {
            addCriterion("ad_isphoto between", value1, value2, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdIsphotoNotBetween(Boolean value1, Boolean value2) {
            addCriterion("ad_isphoto not between", value1, value2, "adIsphoto");
            return (Criteria) this;
        }

        public Criteria andAdDayCountIsNull() {
            addCriterion("ad_day_count is null");
            return (Criteria) this;
        }

        public Criteria andAdDayCountIsNotNull() {
            addCriterion("ad_day_count is not null");
            return (Criteria) this;
        }

        public Criteria andAdDayCountEqualTo(Integer value) {
            addCriterion("ad_day_count =", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountNotEqualTo(Integer value) {
            addCriterion("ad_day_count <>", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountGreaterThan(Integer value) {
            addCriterion("ad_day_count >", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("ad_day_count >=", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountLessThan(Integer value) {
            addCriterion("ad_day_count <", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountLessThanOrEqualTo(Integer value) {
            addCriterion("ad_day_count <=", value, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountIn(List<Integer> values) {
            addCriterion("ad_day_count in", values, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountNotIn(List<Integer> values) {
            addCriterion("ad_day_count not in", values, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountBetween(Integer value1, Integer value2) {
            addCriterion("ad_day_count between", value1, value2, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayCountNotBetween(Integer value1, Integer value2) {
            addCriterion("ad_day_count not between", value1, value2, "adDayCount");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainIsNull() {
            addCriterion("ad_day_remain is null");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainIsNotNull() {
            addCriterion("ad_day_remain is not null");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainEqualTo(Integer value) {
            addCriterion("ad_day_remain =", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainNotEqualTo(Integer value) {
            addCriterion("ad_day_remain <>", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainGreaterThan(Integer value) {
            addCriterion("ad_day_remain >", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainGreaterThanOrEqualTo(Integer value) {
            addCriterion("ad_day_remain >=", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainLessThan(Integer value) {
            addCriterion("ad_day_remain <", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainLessThanOrEqualTo(Integer value) {
            addCriterion("ad_day_remain <=", value, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainIn(List<Integer> values) {
            addCriterion("ad_day_remain in", values, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainNotIn(List<Integer> values) {
            addCriterion("ad_day_remain not in", values, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainBetween(Integer value1, Integer value2) {
            addCriterion("ad_day_remain between", value1, value2, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDayRemainNotBetween(Integer value1, Integer value2) {
            addCriterion("ad_day_remain not between", value1, value2, "adDayRemain");
            return (Criteria) this;
        }

        public Criteria andAdDescIsNull() {
            addCriterion("ad_desc is null");
            return (Criteria) this;
        }

        public Criteria andAdDescIsNotNull() {
            addCriterion("ad_desc is not null");
            return (Criteria) this;
        }

        public Criteria andAdDescEqualTo(String value) {
            addCriterion("ad_desc =", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescNotEqualTo(String value) {
            addCriterion("ad_desc <>", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescGreaterThan(String value) {
            addCriterion("ad_desc >", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescGreaterThanOrEqualTo(String value) {
            addCriterion("ad_desc >=", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescLessThan(String value) {
            addCriterion("ad_desc <", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescLessThanOrEqualTo(String value) {
            addCriterion("ad_desc <=", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescLike(String value) {
            addCriterion("ad_desc like", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescNotLike(String value) {
            addCriterion("ad_desc not like", value, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescIn(List<String> values) {
            addCriterion("ad_desc in", values, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescNotIn(List<String> values) {
            addCriterion("ad_desc not in", values, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescBetween(String value1, String value2) {
            addCriterion("ad_desc between", value1, value2, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdDescNotBetween(String value1, String value2) {
            addCriterion("ad_desc not between", value1, value2, "adDesc");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyIsNull() {
            addCriterion("ad_total_money is null");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyIsNotNull() {
            addCriterion("ad_total_money is not null");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyEqualTo(BigDecimal value) {
            addCriterion("ad_total_money =", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyNotEqualTo(BigDecimal value) {
            addCriterion("ad_total_money <>", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyGreaterThan(BigDecimal value) {
            addCriterion("ad_total_money >", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ad_total_money >=", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyLessThan(BigDecimal value) {
            addCriterion("ad_total_money <", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ad_total_money <=", value, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyIn(List<BigDecimal> values) {
            addCriterion("ad_total_money in", values, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyNotIn(List<BigDecimal> values) {
            addCriterion("ad_total_money not in", values, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ad_total_money between", value1, value2, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdTotalMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ad_total_money not between", value1, value2, "adTotalMoney");
            return (Criteria) this;
        }

        public Criteria andAdStateIsNull() {
            addCriterion("ad_state is null");
            return (Criteria) this;
        }

        public Criteria andAdStateIsNotNull() {
            addCriterion("ad_state is not null");
            return (Criteria) this;
        }

        public Criteria andAdStateEqualTo(Byte value) {
            addCriterion("ad_state =", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateNotEqualTo(Byte value) {
            addCriterion("ad_state <>", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateGreaterThan(Byte value) {
            addCriterion("ad_state >", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("ad_state >=", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateLessThan(Byte value) {
            addCriterion("ad_state <", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateLessThanOrEqualTo(Byte value) {
            addCriterion("ad_state <=", value, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateIn(List<Byte> values) {
            addCriterion("ad_state in", values, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateNotIn(List<Byte> values) {
            addCriterion("ad_state not in", values, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateBetween(Byte value1, Byte value2) {
            addCriterion("ad_state between", value1, value2, "adState");
            return (Criteria) this;
        }

        public Criteria andAdStateNotBetween(Byte value1, Byte value2) {
            addCriterion("ad_state not between", value1, value2, "adState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}